package com.xxkj.drugtraceability.bean

import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName

/**
 * author: zhoujingjin
 * created on: 2024/9/12 9:24
 * description:
 * {
"shelfPosi": "",
"drugCode": "0001",
"fixmedinsHilistName": "阿司匹林肠溶片",
"drugProdBarc": "",
"medListCodg": "",
"selRetnCnt": 24.0,
"memo": "",
"drugSpec": "10g*30",
"drugUploadFlag": "0",
"rxFlag": "0",
"fixmedinsHilistId": "0001",
"drugName": "阿司匹林肠溶片",
"bchno": "",
"finlTrnsPric": 3.0,
"drugRetailSoec": "片",
"drugNum": "24.00"
}
 */
data class DrugInfoBean(
    @Expose
    val shelfPosi:String,
    @Expose
    val drugCode:String,
    @Expose
    val fixmedinsHilistName:String,
    @Expose
    val drugProdBarc:String,
    @Expose
    val medListCodg:String,
    @Expose
    val selRetnCnt:String,
    @Expose
    val memo:String,
    @Expose
    val drugSpec:String?,
    @Expose
    val drugUploadFlag:String,
    @Expose
    val rxFlag:String,
    @Expose
    val fixmedinsHilistId:String,
    @Expose
    val drugName:String,
    @Expose
    val bchno:String,
    @Expose
    val finlTrnsPric:String,
    @Expose
    val drugRetailSoec:String,
    @Expose
    val drugNum:String?,
    @Expose val coff:String?,
    @Expose val ipCoff:String?,
   @Expose var sellDrugId: String? ,
   @Expose var rxno: String? ,
   @Expose var upLoad: String? ,
   @Expose var fixmedinsBchno: String? ,
   @Expose var updateTime: String? ,
   @Expose var updateBy: String? ,
   @Expose var createTime: String? ,
   @Expose var createBy: String? ,
   @Expose var isDelete: String? ,
   @Expose var selRetnOpterName: String? ,
   @Expose var trdnFlag: String? ,
   @Expose var expyEnd: String? ,
   @Expose var manuDate: String? ,
   @Expose var manuLotnum: String? ,
   @Expose var preId: String? ,
   @Expose var id: String? ,
   @Expose var drugAmount: Float? ,
    @SerializedName(value = "drugTracInfoList",alternate = ["drugTracList"])
    @Expose
    var drugTracInfoList:MutableList<DrugTrace>?
){
    var isSelected = false
    var showMore = false
    var presType: String? = null
     var takeDrug: String?= null
    var index = 0
    var trugTracCodgIsGatherCount =false
    var patientDetail:String?=null


    override fun hashCode(): Int {
        var result = shelfPosi.hashCode()
        result = 31 * result + drugCode.hashCode()
        result = 31 * result + fixmedinsHilistName.hashCode()
        result = 31 * result + drugProdBarc.hashCode()
        result = 31 * result + medListCodg.hashCode()
        result = 31 * result + selRetnCnt.hashCode()
        result = 31 * result + memo.hashCode()
        result = 31 * result + (drugSpec?.hashCode() ?: 0)
        result = 31 * result + drugUploadFlag.hashCode()
        result = 31 * result + rxFlag.hashCode()
        result = 31 * result + fixmedinsHilistId.hashCode()
        result = 31 * result + drugName.hashCode()
        result = 31 * result + bchno.hashCode()
        result = 31 * result + finlTrnsPric.hashCode()
        result = 31 * result + drugRetailSoec.hashCode()
        result = 31 * result + (drugNum?.hashCode() ?: 0)
        result = 31 * result + (sellDrugId?.hashCode() ?: 0)
        result = 31 * result + (rxno?.hashCode() ?: 0)
        result = 31 * result + (upLoad?.hashCode() ?: 0)
        result = 31 * result + (fixmedinsBchno?.hashCode() ?: 0)
        result = 31 * result + (updateTime?.hashCode() ?: 0)
        result = 31 * result + (updateBy?.hashCode() ?: 0)
        result = 31 * result + (createTime?.hashCode() ?: 0)
        result = 31 * result + (createBy?.hashCode() ?: 0)
        result = 31 * result + (isDelete?.hashCode() ?: 0)
        result = 31 * result + (selRetnOpterName?.hashCode() ?: 0)
        result = 31 * result + (trdnFlag?.hashCode() ?: 0)
        result = 31 * result + (expyEnd?.hashCode() ?: 0)
        result = 31 * result + (manuDate?.hashCode() ?: 0)
        result = 31 * result + (manuLotnum?.hashCode() ?: 0)
        result = 31 * result + (preId?.hashCode() ?: 0)
        result = 31 * result + (id?.hashCode() ?: 0)
        result = 31 * result + (drugAmount?.hashCode() ?: 0)
        result = 31 * result + (drugTracInfoList?.hashCode() ?: 0)
        result = 31 * result + isSelected.hashCode()
        result = 31 * result + showMore.hashCode()
        result = 31 * result + (presType?.hashCode() ?: 0)
        result = 31 * result + (takeDrug?.hashCode() ?: 0)
        return result
    }

}